📝 Резюме · 🧾 Транскрипт (формат) · 📄 Оригинал (759 B)
https://t.me/Python_libr/3541

Алгоритм бинарного поиска в Python

Источник: https://t.me/Python_libr/3541

Краткое содержание

Короткий пост о бинарном поиске: если есть отсортированный список и нужно найти элемент или вставить его, сохранив порядок, — бинарный поиск намного эффективнее линейного прохода (O(log n) против O(n)). В Python алгоритм встроен в стандартный модуль bisect.

import bisect

data = [1, 3, 5, 7, 9]
# Найти позицию для вставки числа 6
pos = bisect.bisect_left(data, 6)  # -> 3

# Найти индекс элемента (если есть)
i = bisect.bisect_left(data, 5)
if i < len(data) and data[i] == 5:
    print(f"Найдено на позиции {i}")  # -> 2

Значимость

Напоминание об эффективном встроенном инструменте Python для работы с отсортированными коллекциями. bisect особенно полезен в задачах поиска, очередей с приоритетами и поддержания отсортированного порядка без полной пересортировки.

🧾 Транскрипт (формат)

📌 Алгоритм бинарного поиска

Источник: https://t.me/Python_libr/3541

📌 Алгоритм бинарного поиска

Если у вас есть отсортированный список и вам нужно найти элемент или добавить его так, чтобы порядок не изменился, взгляните в сторону этого алгоритма.

Он намного быстрее чем простой проход по списку (для тех, кто шарит: O(log n) vs O(n)) и, к тому же, встроен в Python (модуль bisect).

📕 Документация

#урок